#define _CRT_SECURE_NO_WARNINGS
#pragma once
#include <stdio.h>
#include <malloc.h>
#include <assert.h>
#include <iostream>
#include <queue>
#include <stdlib.h>
using namespace std;

#define DEFAULT_VERTICES_SIZE 10
#define T char

typedef struct Edge {
	int dest;
	struct Edge *link;
}Edge;

typedef struct Vertex {
	T data;
	Edge *adj;
}Vertex;

typedef struct GraphLink {
	size_t MaxVertices, NumVertices, NumEdges;

	Vertex *NodeTable;
}GraphLink;

void InitGraph(GraphLink *g);
void ShowGraph(GraphLink *g);
void InsertVertex(GraphLink *g, T v);
void InsertEdge(GraphLink *g, T v1, T v2);